"""
应用配置文件 (config.py)

定义应用常量、路径和配置项。
"""
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# 项目根目录
# 基于当前文件 (__file__) 的位置计算项目根目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 数据库相关配置 - 仅使用MySQL
USE_MYSQL = True

# 应用核心配置 (字典)
APP_CONFIG = {
    # 文件上传的目标文件夹
    'UPLOAD_FOLDER': os.path.join(BASE_DIR, 'uploads'),
    # 允许上传的文件扩展名集合
    'ALLOWED_EXTENSIONS': {'png', 'jpg', 'jpeg', 'gif'},
    # 允许上传文件的最大大小 (16 MB)
    'MAX_CONTENT_LENGTH': 16 * 1024 * 1024,
    # OpenAI API 配置
    'OPENAI_API': {
        'API_KEY': os.environ.get('OPENAI_API_KEY', ''),
        'MODEL': os.environ.get('OPENAI_MODEL', 'gpt-4o-mini'),
        'MAX_TOKENS': 300
    },
    # Ollama API 配置
    'OLLAMA_API': {
        'USE_OLLAMA': os.environ.get('USE_OLLAMA', 'false').lower() == 'true',
        'HOST': os.environ.get('OLLAMA_HOST', 'http://localhost'),
        'PORT': os.environ.get('OLLAMA_PORT', '11434'),
        'MODEL': os.environ.get('OLLAMA_MODEL', 'deepseek-vision')
    },
    # 数据库配置
    'USE_MYSQL': USE_MYSQL,
    'DB_CONFIG': {
        'MYSQL_HOST': os.environ.get('MYSQL_HOST', 'localhost'),
        'MYSQL_PORT': os.environ.get('MYSQL_PORT', '3306'),
        'MYSQL_USER': os.environ.get('MYSQL_USER', 'root'),
        'MYSQL_PASSWORD': os.environ.get('MYSQL_PASSWORD', ''),
        'MYSQL_DB': os.environ.get('MYSQL_DB', 'memeking')
    }
} 